package controll;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;

import modell.Periodo;

public class PeriodoHibernate implements IPeriodoDAO {

private Session sessao;
	
	@SuppressWarnings("unchecked")
	@Override
	public List<Periodo> listar() {
		Criteria lista = sessao.createCriteria(Periodo.class);
		return lista.list();
	}

	@Override
	public void excluir(Periodo periodo) {
		this.sessao.delete(periodo);	
	}

	@Override
	public void salvar(Periodo periodo) {
		this.sessao.save(periodo);
		
	}

	@Override
	public void alterar(Periodo periodo) {
		this.sessao.update(periodo);
	}

	public Session getSessao() {
		return sessao;
	}

	public void setSessao(Session sessao) {
		this.sessao = sessao;
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Periodo> listarPorObras(Integer id) {
		String sql = " from Periodo c where c.Id = :idObra";
		Query consulta = sessao.createQuery(sql);
		consulta.setInteger("idObra",id);
		return (List<Periodo>) consulta.list();
	}

}
